Test-Driven Development By Example